//package com.sky.entity;
//
//
//import com.fasterxml.jackson.annotation.JsonFormat;
//import com.fasterxml.jackson.annotation.JsonInclude;
//import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
//import com.fasterxml.jackson.databind.annotation.JsonSerialize;
//
//import com.sky.GrantedAuthorityDeserializer;
//import io.swagger.annotations.ApiModelProperty;
//import lombok.Data;
//import lombok.EqualsAndHashCode;
//import org.springframework.lang.Nullable;
//import org.springframework.security.core.GrantedAuthority;
//import org.springframework.security.core.authority.SimpleGrantedAuthority;
//import org.springframework.security.core.userdetails.UserDetails;
//
//import javax.validation.constraints.NotBlank;
//import javax.validation.constraints.Pattern;
//import java.time.LocalDateTime;
//import java.util.ArrayList;
//import java.util.Collection;
//import java.util.List;
//import java.util.Set;
//
///**
// * sys_user
// */
//@EqualsAndHashCode(callSuper = false)
//@Data
//public class SysUser  implements UserDetails {
//
//    private Integer id;
//    /**
//     * 用户名
//     */
//    @NotBlank(message = "用户名不能为空")
//    @ApiModelProperty(value="用户名")
//    private String username;
//
//    @ApiModelProperty(value="企微id")
//    private String userid;
//
//    /**
//     * 密码
//     */
//    @ApiModelProperty(value="密码")
//    private String password;
//
//    /**
//     * 姓名
//     */
//    @ApiModelProperty(value="姓名")
//    private String realName;
//
//    /**
//     * 性别，1：男，0：女
//     */
//    @ApiModelProperty(value="性别，1：男，0：女")
//    private Boolean gender;
//
//    /**
//     * 手机号
//     */
//    @NotBlank(message = "手机号不能为空")
//    @Pattern(regexp = "^(1[3-9][0-9])\\d{8}$", message = "手机号不符合规则")
//    @ApiModelProperty(value="手机号")
//    private String mobile;
//
//    /**
//     * 办公电话
//     */
//    @ApiModelProperty(value="办公电话")
//    private String phone;
//
//    /**
//     * 身份证号
//     */
//    @ApiModelProperty(value="身份证号")
//    private String idCard;
//    /**
//     * 邮箱
//     */
//    @ApiModelProperty(value="邮箱")
//    private String email;
//
//    /**
//     * 账号状态，0：禁用，1：启用
//     */
//    @ApiModelProperty(value="账号状态， 1=已激活，2=已禁用，4=未激活，5=退出企业")
//    private Integer status;
//
//    /**
//     * 职务
//     */
//    @ApiModelProperty(value="职务")
//    private String post;
//
//    /**
//     * 部门code
//     */
//    @ApiModelProperty(value = "部门code")
//    private String department;
//
//    /**
//     * 主部门code
//     */
//    @ApiModelProperty(value = "主部门code")
//    private String mainDepartment;
//
//    /**
//     * 部门
//     */
//    @ApiModelProperty(value="部门")
//    private String departmentName;
//
//    /**
//     * 居住地址
//     */
//    @ApiModelProperty(value="居住地址")
//    private String address;
//
//    /**
//     * 头像URL
//     */
//    @ApiModelProperty(value="头像URL")
//    private String avatar;
//
//
//    /**
//     * 二维码
//     */
//    @ApiModelProperty(value="二维码")
//    private String qr_code;
//
//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
//    private LocalDateTime createTime;
//
//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
//    private LocalDateTime updateTime;
//
//    /**
//     * 备注
//     */
//    @ApiModelProperty(value="备注")
//    private String remark;
//
//    private Integer updateBy;
//
//    private Integer createBy;
//
//    private Boolean delFlag;
//
////    @JsonSerialize(contentUsing = GrantedAuthoritySerializer.class)
////    @JsonDeserialize(contentUsing = GrantedAuthorityDeserializer.class)
//    //@JsonDeserialize(using = GrantedAuthorityDeserializer.class)
//    @JsonInclude(JsonInclude.Include.NON_NULL)
//    private Collection<? extends GrantedAuthority>  authorities;
////
//   // private Set<SysPermission> permissionSet;
////
////    @TableField(exist = false)
////    private boolean isSetting;
////
////    @ApiModelProperty(value="部门id")
////    @TableField(exist = false)
////    private String depId;
////
////    @ApiModelProperty(value="科室id")
////    @TableField(exist = false)
////    private String officeId;
//
//    //@JsonDeserialize(using = GrantedAuthorityDeserializer.class)
//    @Override
//    public Collection<? extends GrantedAuthority> getAuthorities() {
//
//        return authorities;
//    }
//
//    // 账户永不过期
//    @Override
//    public boolean isAccountNonExpired() {
//        return true;
//    }
//    // 账户永不锁定
//    @Override
//    public boolean isAccountNonLocked() {
//        return true;
//    }
//    // 凭证永不过期
//    @Override
//    public boolean isCredentialsNonExpired() {
//        return true;
//    }
//    // 账户永远启用
//    @Override
//    public boolean isEnabled() {
//        return true;
//    }
//}
